/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model.handler;

import java.sql.SQLException;
import java.util.LinkedList;
import model.dao.AcaoLoteSementeDAO;
import model.dto.acao.AcaoLoteSementeDTO;
import model.exception.MissingIdException;
import model.exception.NoChangesOnUpdateException;
import model.exception.NotNullFieldsException;

/**
 *
 * @author Gabriel
 */
public class AcaoLoteSementeHandler {

    AcaoLoteSementeDAO acaoLoteSementeDAO;

    public AcaoLoteSementeHandler() throws SQLException, ClassNotFoundException {
        acaoLoteSementeDAO = new AcaoLoteSementeDAO();
    }

    public LinkedList<AcaoLoteSementeDTO> getAcoesLoteSemente(Integer idLoteSemente) throws SQLException {
        return acaoLoteSementeDAO.getAcoesLoteSemente(idLoteSemente);
    }

    public void executaAcao(AcaoLoteSementeDTO acaoLoteSementeDTO) throws MissingIdException, NotNullFieldsException, NoChangesOnUpdateException, SQLException {

        // Verifica se o identificador do Lote de Sementes e da Ação foi passado
        if ((acaoLoteSementeDTO.getIdLoteSemente() == null) || (acaoLoteSementeDTO.getIdTipoAcao() == null)) {
            throw new MissingIdException();
        }

        // Invoca chamada à base
        acaoLoteSementeDAO.persisteAcaoLoteSemente(acaoLoteSementeDTO);
    }
}
